Строка состоит из строчных
латинских букв и пробелов. Удвойте в ней все гласные буквы, то есть буквы a, e, i, o, u и y.
Вход.
Одна строка, содержащая только строчные латинские буквы и пробелы. Длина строки
не превышает 1000 символов.
Выход.
Выведите строку, в которой все гласные буквы удвоены.
Пример входа |
Пример выхода |
welcome to python |
weelcoomee too pyythoon |
строки
Объявим
указатель i на начало исходного символьного массива s и
указатель j на начало результирующего символьного массива t, присвоив
им начальное значение i = j = 0. Для каждой буквы строки s, которая не является
гласной, копируем s[i] в t[j] и перемещаем указатель j на одну позицию вперёд.
Если буква s[i] является гласной, добавляем её дважды в конец строки t,
после чего j увеличивается на две позиции.
Реализация алгоритма
Объявим входной
символьный массив s и результирующий t.
char s[1001], t[2001];
Читаем входную строку.
gets(s);
Символ s[i] копируем в t[j] и
увеличиваем индекс j на 1. Если s[i] является
гласной, добавляем её в массив t дважды.
int j = 0;
for (int i = 0; i < strlen(s); i++)
if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' ||
s[i] == 'u' || s[i] == 'y')
{
t[j++] = s[i];
t[j++] = s[i];
}
else
t[j++] = s[i];
В конце результирующей строки записываем нулевой байт
для указания её окончания.
t[j] = 0;
Выводим результат.
puts(t);
Реализация алгоритма – C++
Читаем входную
строку.
getline(cin, s);
Инициализируем пустую строку res, которая будет содержать результат.
res = "";
Перебираем символы строки s.
·
Если s[i] является
гласной, добавляем в res два
символа s[i].
·
Если s[i] является
согласной, добавляем в res один символ s[i].
for (i = 0; i < s.size(); i++)
{
Добавляем символ
s[i] в res.
res = res + s[i];
Если s[i] является
гласной, добавляем её в res ещё раз.
if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' ||
s[i] == 'u' || s[i] == 'y')
res = res + s[i];
}
Выводим ответ.
cout << res;
Java реализация
import java.util.*;
public class Main
{
public static void
main(String[] args)
{
Scanner con = new
Scanner(System.in);
String s = con.nextLine();
String res = "";
for(int i = 0; i < s.length();
i++)
if (s.charAt(i) == 'a' || s.charAt(i) == 'e' ||
s.charAt(i) == 'i' || s.charAt(i) == 'o' ||
s.charAt(i) == 'u' || s.charAt(i) == 'y' )
res = res + s.charAt(i) + s.charAt(i);
else
res = res + s.charAt(i);
System.out.println(res);
con.close();
}
}
Python реализация
s = input()
Инициализируем пустую строку res, которая будет содержать
результат.
res = ""
Перебираем символы строки s.
·
Если ch является
гласной, добавляем в res два
символа ch.
·
Если ch является
согласной, добавляем в res один символ ch.
for ch in s:
Добавляем символ ch в res.
res += ch
Если ch является
гласной, добавляем её в res ещё раз.
if ch in "aeiouy":
res += ch
Выводим ответ.
print(res)